glxchannelrectsgix
- Man Page
glXChannelRectSGIX(3G) OpenGL Reference - GLX glXChannelRectSGIX(3G)
NAME
glXChannelRectSGIX - specify area of frame buffer to resize to video
resolution
C SPECIFICATION
int glXChannelRectSGIX( Display *display,
int screen,
int channel,
int x,
int y,
int w,
int h )
PARAMETERS
display Specifies the connection to the X server.
screen Specifies the screen of the X server.
channel Specifies the video channel number.
x, y, w, h
The origin and size of the area of the window that will be
converted to the output resolution of the video channel. (x,y)
is relative to the bottom left corner of channel specified by
the current video combination.
DESCRIPTION
glXChannelRectSGIX sets the rectangular area of the frame buffer that
will be resized to match the output resolution of channel. The specified
frame buffer area is not resized until glXSwapBuffers is called for the
window that is bound to channel. Call glXBindChannelToWindowSGIX to bind
a window to a channel.
Note that the origin and size of the specified area must conform to the
precision constraints returned by glXQueryChannelDeltasSGIX.
glXChannelRectSGIX returns True if it succeeds. If it fails, False is
returned and the frame buffer area remains unchanged.
EXAMPLE
Page 1
glXChannelRectSGIX(3G) OpenGL Reference - GLX glXChannelRectSGIX(3G)
XSGIvcChannelInfo *pChanInfo = NULL;
... open display and screen ...
glXBindChannelToWindowSGIX( display,screen,channel,window );
glXQueryChannelDeltasSGIX( display,screen,channel, &dx,&dy,&dw,&dh );
XSGIvcQueryChannelInfo( display, screen, channel, &pChanInfo );
X = pChanInfo->source.x;
Y = pChanInfo->source.y;
W = pChanInfo->source.width;
H = pChanInfo->source.height;
... open an X window (preferably with no borders so will not get ...
... moved by window manager) at location X,Y,W,H (X coord system) ...
while( ... )
{
... determine area(width,height) that will be drawn ...
... based on performance requirements. Make ...
... area smaller if application is fill limited ...
w = width - ( width % dw );
h = height - ( height % dh );
glViewport( 0,0,w,h );
glXChannelRectSGIX( display,screen,channel, 0,0,w,h );
... draw scene ...
glXSwapBuffers( display,window );
}
NOTES
glXChannelRectSGIX is part of the SGIX_video_resize extension.
ERRORS
glXChannelRectSGIX returns False if the specified area does not conform
to the precision constraints returned by glXQueryChannelDeltasSGIX.
glXChannelRectSGIX returns False if channel is not bound to a window.
glXChannelRectSGIX returns False if channel is not a valid independent
channel.
Page 2
glXChannelRectSGIX(3G) OpenGL Reference - GLX glXChannelRectSGIX(3G)
MACHINE DEPENDENCIES
The SGIX_video_resize extension is supported only on InfiniteReality
systems.
SEE ALSO
glXBindChannelToWindowSGIX, glXQueryChannelRect,
glXQueryChannelDeltasSGIX, glXSwapBuffers
Page 3